前言
最近送sitemap到網站管理員總是出現Parsing Error,看了官方文件Build and submit a sitemap才發現原來是有些特殊字元沒處理到。
< > & ' "
文件上說得處理這五個符號。
escape
escape可以妥善的處理特殊符號,但對URL做escape會連:
都做處理,因此在URL上不適用。
encodeURI
encodeURI不會對, / ? : @ & = + $ #
這些做處理。
encodeURIComponent
encodeURIComponent連:
和/
都做處理了,因此也不適用。
結果
既然如此就只能自己做處理了1encodeURI(url).replace(/&/,"%26").replace(/</,"%3C").replace(/>/,"%3E").replace(/'/,"%27").replace(/"/,"%22");